Logic state analyzers are used to monitor and record sequences of states that occur in a collection of digital signals in a system under test. A state is simply any one of the 2.sup.n logical patterns that n-many digital signals may experience. The digital signals are generally ordered, as in the least to most significant bits in an address. If they are not so ordered, some convenient order can be assigned. Either way, any particular state in the ordered signals, say 00111011 in a collection having eight signals, may be recited as any of "oh, oh, one, one, one, oh, one, one" (archaic), "oh-seventy-six" (octal) or "three-bee" (hex). Each of the latter two recitations are generally more agreeable than the former, and for n-many digital signals their equivalent integer values in radix ten will range between zero and 2.sup.n -1. Clearly then, we may refer to a state as a numerical magnitude or value. A sequence of addresses or a sequence of fetched instructions are examples of electrical activity describable as states in a microprocessing environment. Those states can be monitored by a logic state analyzer to record their "state flow" and display it as a series of numerical values.
To monitor the ongoing sequence of states in a system under test a logic state analyzer samples the electrical levels of the signals of interest at times determined by one or more clock signals associated with the system under test. The sampled electrical levels obtained are compared to selected thresholds and polarities to determine their corresponding logical values, each of which will be either true or false, one or zero. Each resulting collection of ones and zeros for a sample is a state in the ongoing sequence of states. It is also simply a binary value that may be stored in a memory. A series of such stored binary values is a record of the activity occurring in the system under test. Such a record may be termed a trace.
One common way for presenting the trace is to either print or display a tabular listing of the numerical values for the states comprising the trace. The numerical values shown in the tabular listing may be in binary, octal, decimal, or hexadecimal. And while that is entirely adequate in many cases there are times when certain questions or topics of investigation concerning the trace may be more easily or more quickly answered if the values of the various states in the trace were presented as varying heights in a graph. A graph of the trace is a series of discrete points arranged according to cartesian coordinates. Each point represents, a state in the trace. The ordinate of each point represents in some convenient number system the numerical value of the associated state, while the abscissa is an integer indicative of the chronological order in which each state occurred. Such a graph of a trace may be more useful than the traditional tabular "trace list" when the user is looking for patterns in the trace, or investigating states that wrongly occur out of some regular order. In such instances the shape of the graph can often provide the sought for information much quicker and with greater ease than a tabular trace list whose "shape" is the same regardless of the particular values of the states in the list.